The present invention relates to a communication control unit for controlling aport to be used, for example, when a packet is transferred by using a multicast-supporting LAN (Local Area Network) as well as to a communication control method applied for a multicast-supporting LAN.
In association with rapid and widespread use of personal computers in recent years, LAN has also become increasingly common, while computers and networks themselves have been more advanced and more powerful. In addition, wide use of WWW (World Wide Web) as well as of multimedia data such as moving images and voice is progressing, and the traffic of networks is more and more increasing, so that introduction of network repeater such as a communication control unit and a high speed router, for example, a switching hub allowing large amounts of data to be transmitted with high speed to a network is progressing. Further, data transfer based on a multicast technology has been started as a technology for efficiently transferring large amounts of data, and it may be estimated that the widespread use of data transfer using a multicast is more and more increasing from now on.
Description is made hereinafter for a multicast-supporting LAN in which a conventional type of communication control unit is applied. FIG. 15 is a view showing a construction of the conventional type of multicast-supporting LAN. The multicast-supporting LAN shown in FIG. 15 comprises multicast routers 1001 and 1002 for relaying data transfer using a multicast according to an IP address; communications control units 1101, 1102, and 1103 for switching input/output of a packet with data to be transferred according to MAC addresses; a hub 1201 functioning as, for example, a multi-port transceiver; and host devices 1301-1307 each functioning as a terminal. The network construction shown in FIG. 15 is a part of a LAN taken out to describe the network based on the conventional technology.
FIG. 16 and FIG. 17 are views for explaining a general outline of an operation of IGMPv2 (Internet Group Management Protocol Version 2), FIG. 16 shows a sequence for a host device to become a member of a multicast group, and FIG. 17 shows a sequence for a host device to leave a multicast group. It should be noted that FIG. 16 and FIG. 17 show a construction obtained by taking out a part with the multicast router 1001 and host devices 1304 and 1305 from the construction in FIG. 15.
At first, description is made for a method of becoming a member of a multicast group with reference to FIG. 16. It is assumed here that the host device 1305 desires a member of a multicast group, and description is made for the operation within a range of the construction shown in FIG. 16 to make description simpler. The multicast router 1001 periodically transmits a query message (Host Membership Query) to a destination with the IP address 224.0.0.1 (All-Systems-Group) to ask the host devices 1304 and 1305 each connected to a local network to become a member of one of multicast groups and to find out where the desired multicast group exists.
In this case, the host device 1305 having a desire of becoming a member of a multicast group transmits a report message (Host Member Report) to a multicast address of a group hoping to become a member to report the multicast address of which the host device desires a member in response to the received a query from the multicast router 1001.
At this point of time, the host device 1305 trying to transmit a report transmits the report at a random time during a period of time until a Max Response Time (Default: 10 sec) included in the query message is elapsed. If there are a plurality of other host devices each to send a report to the same group as that the report to be sent to, the multicast router receives a first transmitted report by one of host devices, so that the other host devices do not transmit the report. Namely, when a plurality of host devices in a network medium are connected to shared media, only one report for each multicast group is transmitted.
The multicast-supporting router 1001 receives the report, finds out a multicast group of which the host device 1305 desires a member, and starts to transmit, if it is found where a multicast for the multicast group exists, multicast data to a local network based on a multicast routing protocol.
Next description is made as to a method of leaving a multicast group with reference with FIG. 17. It is assumed here that the host device 1305 desires to leave a multicast group, and description is made for the operation within a range of the construction shown in FIG. 17 to make description simpler. The host device 1305 desiring to leave the multicast group of which the device is a member transmits a leave message to the IP address 224.0.0.2 (All-Routers-Group) at the point of time when leaving is decided.
The multicast router 1001 having received the leave transmits a GS query (Group Specific Query) message to the multicast group address to check whether any other host devices each being a member of the multicast group exist or not. If there are some host devices each as a member of the multicast group other than the host device having transmitted the leave, the host device 1305 transmits a report to the multicast router 1001 to convey the existence thereof.
Herein, although there is also Version 1 of IGMP (defined in RFC1112), IGMPv2 supports compatibility with IGMPv1, so that any host device and router supporting Version 1 may exist in a local network. Leave is a message added in IGMPv2, namely, in Version 1, a multicast router finds out existence or leaving of a receiving host device depending on presence or absence of a response with a report to periodical transmission of a query.
Conventionally, unicast physical addresses of terminals each connected to each port are stored in a communication control unit such as a switching hub, and high speed packet transfer of a unicast packet having a unicast physical address of a terminal or of a broadcast packet to terminals is realized only to a target port or target ports based on a hardware switching technology.
As for a multicast packet used for multimedia data transfer, however, it is difficult to discriminate a plurality of particular ports requiring the multicast packet from others as compared to the case of unicast, and for this reason, a multicast packet is not transferred only to ports requiring the multicast packet but is transferred to all ports like the broadcast packet.
The multicast packet as described above has in many cases continuous stream data as well as a large amount of data with a data type of moving images and other data, which causes limitations of processing by the communication control unit, and for this reason, there occur inconveniences such that a disposal rate of multicast packets becomes higher, a transfer delay time becomes longer, or a bad influence is given to transfer of other unicast packet.
Although there is a device for performing message transaction with a multicast router connected to a network using a particular protocol to transfer a multicast packet only to a port of a required communication control unit, the operation of transferring a multicast packet only to a required particular port can not be realized unless the multicast router supporting the particular protocol is combined with the communication control unit.
In the multicast-supporting LAN described above, there is a communication control unit which packages IGMP as a management protocol of a multicast group between a multicast router and host devices on its own, but a merit such that a LAN switch by nature realizes high speed data transfer by forwarding a data packet in a data linked layer may be lost.
When a particular protocol specific to a device is used, connectivity between makers or devices can not be ensured.
It is an object to provide, to solve the problems described above, a communication control unit which can realize efficient transfer for multicast as well as unicast data transfer by transferring multicast data only to required ports with the existing protocol and network construction as well as a communication control method applied for a multicast-supporting LAN.
With the present invention, when it is determined that the received packet is a packet on a multicast as well as multicast group management protocol, a table showing a correlation between the host devices and multicast groups is constructed according to the received packet, and packet transfer for each multicast group between the multicast router and host devices is controlled according to the table, so that a multicast packet can be multicast-transferred only to required host devices with the existing protocol and network construction, and with this feature, it is possible to realize efficient transfer for multicast as well as unicast data transfer.
With the present invention, when it is determined that the packet on the multicast as well as multicast group management protocol is a query, the port having received the packet on a query among a plurality of ports is registered in the table as a port to which the multicast router is connected, so that it is possible to update a correlation between a port and a multicast router as required according to contents of the packet.
With the present invention, when a packet on a query is received, it is controlled to transfer the packet to all the ports other than the port having received the received packet among the plurality of ports, so that the query can surely be transferred to devices under controls by a multicast router.
With the present invention, a ping is periodically transferred to the port to which the multicast router is connected among the plurality of ports by referring to the table, and when there is any port that does not respond to the ping, the correlation between the port and the multicast router is deleted from the table, so that it is possible to update disappearance of a correlation between a multicast router and a port as required according to contents of the packet.
With the present invention, when it is determined that the packet on the multicast as well as multicast group management protocol is a report, the port having received the packet on a report among the plurality of ports is registered in the table as a connecting port used when the host device connected to the port is to be a member of an arbitrary multicast group, so that it is possible to update generation of a correlation between a port and a host device for each multicast group as required according to contents of the packet.
With the present invention, when a packet on a report is received, the packet on a report is controlled to transfer only to the port to which the multicast router is connected by referring to the table, so that the report from the host device can surely be transferred to the multicast router.
With the present invention, when it is determined that the packet on the multicast as well as multicast group management protocol is leave, the port having received the packet on leave among the plurality of ports is deleted from the table regarding as a connecting port used when the host device connected to the port leaves an arbitrary multicast group, so that it is possible to update disappearance of a correlation between a port and a host device for each multicast group as required according to contents of the packet.
With the present invention, when a packet on leave is received, the packet on leave is controlled to transfer only to the port to which the multicast router is connected by referring to the table, so that the leave from the host device can surely be transferred to the multicast router.
With the present invention, when a packet on leave is received, the packet on leave is controlled to transfer to all the ports other than the port having received the packet on leave among the plurality of ports, so that the need for processing of searching a port to which the multicast router is connected is eliminated, and with this feature, it is possible to make low speed processing of leave faster by reducing a load to the processing at the time of leave operation.
With the present invention, when a packet on a group specific query for checking that there is no host device being a member of a multicast group is received, the packet on a group specific query is controlled to transfer, by referring to the table, to ports each to which a multicast router is connected other than the port connecting thereto the host device having been a member of a multicast group as well as the port having received the packet on a group specific query, so that the group specific query does not need to be broadcast, and with this feature, it is possible to efficiently check that there is no host device having been a member of a multicast group.
With the present invention, when a packet on a group specific query is received, the packet on a group specific query is controlled to transfer to all the ports other than the port having received the packet on a group specific query among the plurality of ports, so that the need for processing of searching a port to which the multicast router is connected is eliminated, and with this feature, it is possible to make processing of transferring the group specific query faster by reducing a load to the processing at the time of group specific query operation.
With the present invention, when there is any port from which a report is not responded within a specified period of time after the packet on a query is received, the correlation between the port and the host device is deleted from the table, so that it is possible to update information that becomes nothing to do with multicast packet transfer as required, and with this feature, the processing can efficiently be executed.
With the present invention according to claim 13, an update operation of the table is executed under controls by the external device, so that a load to the communication control unit itself can be reduced.
With the present invention, when a packet is received by a port connected to the multicast router, and if the received packet is a multicast packet, the received packet is transferred to the host devices belonging to the multicast group by referring to the table, so that a sequence of checking the multicast group management protocol can be omitted, and with this feature, forwarding of a multicast packet can be made faster.
With the present invention, when a packet is received by a port connected to a host device belonging to a multicast group stored in the table, and if the received packet is a multicast packet, the received packet is transferred to the multicast router belonging to the multicast group by referring to the table, so that a sequence of checking the multicast group management protocol can be omitted, and with this feature, forwarding of a multicast packet can be made faster.
With the present invention, when a packet is received by a port to which the router is connected, and if the received packet is a multicast packet, the received packet is transferred to the multicast router by referring to the table, so that it is possible to ensure the operation of a multicast routing protocol on the network comprising a plurality of multicast routers and a plurality of switching hubs. With the present invention, when the packet on the multicast as well as multicast group management protocol is a query to ask a host device to become a member of a multicast group, only a first report in each multicast group among reports each having a desire to become a member of a multicast group received by each of the ports is transferred to a corresponding port to which the multicast router is connected by referring the table during the specified period of time preset inside the query, and the following reports are disposed after the specified period of time is elapsed, so that overlaps of reports to a multicast router can be avoided from their transmission even on a network in which the subnet comprises a large number of switching hubs and host devices desiring reception of multicast data are connected to a large number of ports of each of the switching hubs.
With the present invention, even when it is determined that the received packet is a packet on a multicast as well as multicast group management protocol, but if the received packet does not correspond at least to any type of a query to ask a host device to become a member of a multicast group, a report that a host device desires to be a member of a multicast group, and of leave indicating that a host device desires to leave a multicast group, the received packet is transferred to all the plurality of ports, so that when it can not be determined which type a multicast packet corresponds to, the determination can be left to each device as a destination to which the packet is transferred.
With the present invention, even when it is determined that the received packet is a packet on the multicast as well as multicast group management protocol, but if the received packet does not correspond at least to any type of query to ask a host device to become a member of a multicast group, a report that a host device desires to be a member of a multicast group, and of leave indicating that a host device desires to leave a multicast group, the received packet is disposed, so that an unclear type of multicast packet is cleared off from a network, which allows ordinary multicast packet transfer to be more efficient.
With the present invention, there are steps of determining contents of a received packet, and constructing, when it is determined that the received packet is a packet on the multicast as well as multicast group management protocol, a table showing a correlation between the host devices and multicast groups for controlling a path of a multicast packet according to the received packet, so that conditions to control multicast-transfer of a multicast packet only to required host devices with the existing protocol and network construction can be maintained inside the packet.
With the present invention, there is also a step of transferring, when a multicast packet is received from the multicast router, a packet for each multicast group between the multicast router and host devices according to the table showing a correlation between host devices and multicast groups, so that a multicast packet can be multicast-transferred only to required host devices with the existing protocol and network construction, and with this feature, it is possible to realize efficient transfer for multicast as well as unicast data transfer.
Other objects and features of this invention will become understood from the following description with reference to the accompanying drawings.